//package com.juben.svr.demos.web;
//
//import com.juben.svr.domain.HtmlRequest;
//import com.lowagie.text.pdf.BaseFont;
//import org.springframework.http.HttpHeaders;
//import org.springframework.http.ResponseEntity;
//import org.springframework.web.bind.annotation.*;
//import org.xhtmlrenderer.pdf.ITextFontResolver;
//import org.xhtmlrenderer.pdf.ITextRenderer;
//
//import java.io.ByteArrayOutputStream;
//import java.io.File;
//import java.io.FileOutputStream;
//
//@RestController
//@RequestMapping("/pdf")
//@CrossOrigin(origins = "http://localhost:5173",allowedHeaders = "*",allowCredentials = "true")
//public class pdfFlying {
//
//    private  String OUTPUT_DIR = "D:\\pdfs\\pdf"; // 指定文件保存路径
//    String fontPath = "fonts/AlimamaDaoLiTi.ttf";
//    @PostMapping("/convert")
//    public ResponseEntity<String> convertHtmlToPdf(@RequestBody HtmlRequest request) {
//        String html = request.getHtml().trim(); // 获取 HTML 字符串
//        System.out.println("Received HTML: " + html);
//        String outputFilePath = OUTPUT_DIR + "document19.pdf";// 生成的 PDF 文件名
//        try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
//             FileOutputStream fileOutputStream = new FileOutputStream(outputFilePath)) {
//            // 创建一个 ITextRenderer 实例，用于将 HTML 转换为 PDF
//            ITextRenderer renderer = new ITextRenderer();
//            ITextFontResolver fontResolver = renderer.getFontResolver();
//
//            File fontFile = new File(fontPath);
//            System.out.println(!fontFile.exists());
//            if (!fontFile.exists()) {
//                System.out.println("字体文件不存在：" + fontFile.getAbsolutePath());
//            }
//            fontResolver.addFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
////            // 设置字体
////            ITextFontResolver fontResolver = renderer.getFontResolver();
////            fontResolver.addFont("阿里妈妈刀隶体/AlimamaDaoLiTi.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); // 添加字体
//            //添加定制字体
//            //fontResolver.addFont("D:\\学习资料\\毕业设计\\项目\\阿里妈妈刀隶体\\AlimamaDaoLiTi.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
//
//            //将传入的 HTML 字符串设置为要转换的文档。
//            renderer.setDocumentFromString(html);
//            //布局处理，计算内容的尺寸，并为生成 PDF 做准备。
//            renderer.layout();
//            //将布局处理后的内容生成 PDF 并写入到字节输出流中。
//            renderer.createPDF(outputStream);
//            //将输出流中的字节转换为字节数组（即生成的 PDF 文件）。
//            //byte[] pdfBytes = outputStream.toByteArray();
//            //创建一个 HTTP 头对象，用于设置响应头。
//            //HttpHeaders headers = new HttpHeaders();
//            //设置响应头，指示浏览器将返回的数据作为附件下载，文件名为 document.pdf。
////            headers.add("Content-Disposition", "attachment; filename=document.pdf");
////            //创建一个 HTTP 响应，状态为 200（成功）。
////            return ResponseEntity.ok()
////                    //将之前设置的头部添加到响应中。
////                    .headers(headers)
////                    //设置响应的 MIME 类型为 PDF，以便浏览器识别。
////                    .contentType(org.springframework.http.MediaType.APPLICATION_PDF)
////                    //将生成的 PDF 字节数组作为响应体返回。
////                    .body(pdfBytes);
//
//            // 将 PDF 字节数组写入指定文件
//            outputStream.writeTo(fileOutputStream);
//            return ResponseEntity.ok("PDF file generated successfully: " + outputFilePath);
//
//        } catch (Exception e) {
//            e.printStackTrace();
//            return ResponseEntity.internalServerError().build();
//        }
//    }
//
//
//}
//
